package cn.iocoder.yudao.module.system.controller.admin.weChatTextCardMsgSend;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.Service;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class WeChatWorkClientTextCardMsgSend {

    public static void main(String[] args) throws MalformedURLException {
        try {
            // 创建ObjectFactory实例
            ObjectFactory objectFactory = new ObjectFactory();

            String str ="<div class=\'red\'>2016年9月26日</div> <div class=\'normal\'>恭喜你**bold**抽中iPhone 7一台，领奖码：xxxx</div><div class=\'highlight\'>请于2016年10月10日前联系行政同事领取</div>";
            String content = "<div style=\'text-align:center;\'>" // 开始居中
                    + "<b>恭喜你抽中iPhone7一台</b>" // 加粗文本
                    + "<br/>领奖码:xxxx" // 换行
                    + "<br/>请于2016年10月10日前联系行政同事领取"
                    + "</div>";
            // 使用ObjectFactory创建TextCardMsgSend请求对象并设置参数
            TextCardMsgSend textCardMsgSendRequest = objectFactory.createTextCardMsgSend();
            textCardMsgSendRequest.setTouser("700385"); // 请替换为实际的用户ID
            textCardMsgSendRequest.setTitle("消息标题"); // 请替换为实际的标题
            textCardMsgSendRequest.setDesc(content); // 请替换为实际的描述
            textCardMsgSendRequest.setUrl("https://seatreserve-test.fmc-asia.cn/"); // 请替换为实际的URL
            textCardMsgSendRequest.setAgentid("1000010"); // 请替换为实际的应用ID

            // 获取WSDL文件的URL
            String wsdlLocation = "file:/D:/code/src/main/java/WeChatWorkInterfaceforTextCardMsgSend.wsdl";
            URL url = new URL(wsdlLocation);

            // 创建WeChatWorkInterface1服务实例
            Service service = new WeChatWorkInterface1(url);

            // 获取WeChatWorkInterface1Soap端口实例
            WeChatWorkInterface1Soap port = service.getPort(WeChatWorkInterface1Soap.class);

            // 调用textCardMsgSend方法并获取响应
            String response = port.textCardMsgSend(
                    textCardMsgSendRequest.getTouser(),
                    textCardMsgSendRequest.getTitle(),
                    textCardMsgSendRequest.getDesc(),
                    textCardMsgSendRequest.getUrl(),
                    textCardMsgSendRequest.getAgentid());

            // 输出响应结果
            System.out.println("发送消息的响应结果：" + response);
        } catch (WebServiceException | MalformedURLException e) {
            e.printStackTrace();
        }
    }

    public String getTextString() throws ParserConfigurationException {

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        // 创建文档
        Document document = builder.newDocument();

        // 创建图文消息的根元素
        Element newsElement = document.createElement("xml");
        document.appendChild(newsElement);

        // 创建ToUserName元素
        Element toUserName = document.createElement("ToUserName");
        toUserName.appendChild(document.createTextNode("接收消息的UserID或企业ID"));
        newsElement.appendChild(toUserName);

        // 创建FromUserName元素
        Element fromUserName = document.createElement("FromUserName");
        fromUserName.appendChild(document.createTextNode("发送消息的UserID或企业ID"));
        newsElement.appendChild(fromUserName);

        // 创建CreateTime元素
        Element createTime = document.createElement("CreateTime");
        createTime.appendChild(document.createTextNode(String.valueOf(System.currentTimeMillis() / 1000)));
        newsElement.appendChild(createTime);

        // 创建MsgType元素
        Element msgType = document.createElement("MsgType");
        msgType.appendChild(document.createTextNode("text"));
        newsElement.appendChild(msgType);

        // 创建Content元素，包含HTML标签
        Element content = document.createElement("Content");
        String messageContent = "<p><b><font color=\'red\'>这是一条加粗红色消息</font></b><br/>这是消息的第二行</p><p align=\'center\'>内容居中显示</p>";
        content.appendChild(document.createTextNode(messageContent));
        newsElement.appendChild(content);


                String str=document.toString();
        return str;
    }
}